package com.lczyfz.istep.modules.openstack.api.nova.interfaces.serveraction;


import com.lczyfz.istep.modules.openstack.api.nova.model.Server;
import com.lczyfz.istep.modules.openstack.api.nova.model.serveraction.RebuildServer;

public interface ServerActions {
	
	/**
	 * ����������
	 * @param serverid
	 */
	public void LockServer(String serverid);
	/**
	 * ��ͣ������
	 * @param serverid
	 */
	public void PauseServer(String serverid);
	/**
	 * ��������������
	 * @param serverid
	 */
	public void RebootServer(String serverid);
	/**
	 * �ؽ�������
	 * @param serverid
	 * @return
	 */
	public Server RebuildServer(String serverid, RebuildServer rebuildserver);
	/**
	 * ������������С
	 * @param serverid
	 * @param flavorRef
	 */
	public void ResizeServer(String serverid, String flavorRef);
	/**
	 * �ָ�����ķ�����
	 * @param serverid
	 */
	public void ResumeSuspendedServer(String serverid);
	/**
	 * ��ԭ������С�ķ�����
	 * @param serverid
	 */
	public void RevertResizedServer(String serverid);
	/**
	 * ����������
	 * @param serverid
	 */
	public void StartServer(String serverid);
	/**
	 * ֹͣ������
	 * @param serverid
	 */
	public void StopServer(String serverid);
	/**
	 * ���������
	 * @param serverid
	 */
	public void SuspendServer(String serverid);
	/**
	 * ����������
	 * @param serverid
	 */
	public void UnlockServer(String serverid);
	/**
	 * ȡ����ͣ������
	 * @param serverid
	 */
	public void UnpauseServer(String serverid);
	/**
	 * ǿ��ɾ��������
	 * @param serverid
	 */
	public void ForceDeleteServer(String serverid);
	
}
